1. Field of the Invention
The present invention relates to a transmitting/receiving apparatus used in a communication network system in which data is packetized and transmitted between a plurality of terminals. More particularly, the present invention relates to a transmitting/receiving apparatus used in a communication network system in which continuous video data such as MPEG2-TS is packetized and transmitted.
2. Description of the Background Art
In recent years, a wireless LAN system and a power line communication system, for example, are in practical use as a communication network system in which data is packetized and transmitted between a plurality of terminals. As a wireless LAN system, IEEE 802.11b using 2.4 GHz, and IEEE 802.11a using 5 GHz are standardized, and are widely prevalent. The above-described wireless LAN systems employ a fall down algorithm by which an appropriate modulation method is selected from among different types of modulation methods in accordance with transmission conditions. The fall down algorithm reduces a communication speed in accordance with transmission conditions. IEEE 802.11a provides 54 Mbps transmission speed by using 64 QAM, but its communication range and noise immunity are substantially inferior to a modulation method such as 16 QAM. Thus, the wireless LAN system changes a modulation method according to transmission conditions, thereby continuing communication.
On the other hand, HomePlug1.0, which is a standard of a communication system by which 14 Mbps communication is realized by using a home power line, is developed by HomePlug Powerline Alliance, and is in practical use (see Sobia Baig et al., “A Discrete Multitone Transceiver at the Heart of the PHY Layer of an In-Home Power Line Communication Local Area Network”, IEEE Communications Magazine, April 2003, pp. 48-53).
FIG. 12 is a block diagram showing a structure of a transmitting/receiving apparatus 90 defined by HomePlug1.0. In FIG. 12, the transmitting/receiving apparatus 90 includes a transmitting-end communication control section 91, a plurality of QAM encoder sections 92, an IFFT section 93, an AFE (Analog Front End) 94, an FFT section 95, a plurality of QAM decoder sections 96, a receiving-end communication control section 97, and an SNR analytical results/acknowledgement notifying section 98.
The transmitting-end communication control section 91 determines how to allocate a bit string of input data to the QAM encoder section(s) 92 based on SNR analytical results notified by the SNR analytical results/acknowledgement notifying section 98. The transmitting-end communication control section 91 allocates a bit string of input data to each QAM encoder section 92 in accordance with an allocation scheme determined based on the SNR analytical results. That is, the transmitting-end communication control section 91 performs serial-to-parallel conversion for input data in accordance with an allocation scheme determined based on the SNR analytical results. The transmitting-end communication control section 91, which is provided with a buffer for temporarily storing input data, temporarily stores input data in the buffer. Then, the transmitting-end communication control section 91 performs serial-to-parallel conversion for the temporarily stored input data in accordance with a timing output from an external QoS (Quality of Service) controller (not shown), and outputs the converted data. In the case where transmitted data is not received successfully, the transmitting-end communication control section 91 retransmits the temporarily stored input data in accordance with an acknowledgement notified by the SNR analytical results/acknowledgement notifying section 98.
A transmitting source transmitting/receiving apparatus and a transmission destination transmitting/receiving apparatus perform a process for changing a bit allocation scheme based on the SNR analytical results in a coordinated manner. Specifically, the transmission source transmitting/receiving apparatus transmits a test packet to the transmission destination transmitting/receiving apparatus. In response to this, the transmission destination transmitting/receiving apparatus analyzes an SNR (Signal to Noise Ratio) of each carrier based on the transmitted test packet. The above-described SNR of each carrier is sent back to the transmission source transmitting/receiving apparatus as SNR analytical results. Based on the transmitted SNR analytical results, the transmission source transmitting/receiving apparatus determines a bit number allocated to each carrier. Hereinafter, the above-described process is referred to as a training session.
Each QAM encoder section 92 converts a bit string input from the transmitting-end communication control section 91 to an amplitude value and a phase value by using QAM (Quadratture Amplitude Modulation).
The IFFT section 93 executes an inverse Fast Fourier transform based on the amplitude value and the phase value input from each QAM encoder section 92, and outputs its results. Thus, an OFDM signal modulated in accordance with the input data is output. The above-described OFDM signal is transmitted to another transmitting/receiving apparatus via the AFE 94.
The FFT section 95 performs a Fast Fourier transform for the OFDM signal received from another transmitting/receiving apparatus via the AFE 94, and outputs an amplitude value and a phase value of each carrier.
Each QAM decoder section 96 demodulates the amplitude value and the phase value, which is output from the FFT section 95, back into a bit string by using QAM, and outputs the bit string.
The receiving-end communication control section 97 converts the bit string output from each QAM decoder section 96 to a continuous bit string, and outputs the continuous bit string as output data. That is, the receiving-end communication control section 97 performs parallel-to-serial conversion, thereby outputting output data. Also, the receiving-end communication control section 97 analyzes an SNR of each carrier based on the amplitude value and the phase value output from each QAM decoder 96 during the training session. The receiving-end communication control section 97 notifies the SNR analytical results to the transmitting-end communication control section 91 via the SNR analytical results/acknowledgement notifying section 98. The receiving-end communication control section 97 checks whether or not all packets transmitted from the transmission source transmitting/receiving apparatus are received successfully based on the generated output data. The above-described checking process is referred to as an acknowledgement. The receiving-end communication control section 97 notifies acknowledgment results to the transmitting-end communication control section 91 via the SNR analytical results/acknowledgement notifying section 98.
The transmitting/receiving apparatus 90 shown in FIG. 12, which is compliant with HomePlug1.0, divides a data string into a lot of low rate data, and allocates the divided data to a lot of sub-carriers, each of which is orthogonal to others, for transmission. The receiving-end communication control section 97 uses a channel estimation algorithm, which is executed during a training session, for measuring an SNR in accordance with a specific frame transmitted from a transmission source. The channel estimation algorithm changes a modulation speed by estimating channel conditions. By conventional HomePlug1.0 specifications, a plurality of sub-carriers are modulated in a similar manner by selecting a single modulation parameter. However, newly performed researches have revealed that further speeding-up is realized using a method called DMT (Discrete Multitone), by which a bit number to be allocated to each carrier is determined by the transmitting-end communication control section 91 in accordance with each carrier's SNR fed back thereto.
FIGS. 13A to 13C are illustrations for describing a basic concept of DMT. In FIG. 13A, sub-carriers are denoted by numerals 1 to n, a horizontal axis indicates a frequency, and a vertical axis indicates a bit number (i.e., speed) allocated to each carrier. FIG. 13A shows that the sub-carriers are in the same state.
FIG. 13B is an illustration showing an exemplary SNR analyzed in a transmission destination. In FIG. 13B, a horizontal axis indicates a frequency, and a vertical axis indicates an SNR value.
In the case of the SNR as shown in FIG. 13B, the transmitting-end communication control section 91 allocates a greater number of bits to a sub-carrier with a frequency of higher SNR values, and does not allocate any bits to a sub-carrier with SNR values smaller than a predetermined threshold value (SNR threshold), as shown in FIG. 13C. As such, the transmitting-end communication control section 91 controls the bit allocation scheme applied to the QAM encoder sections 92 based on the SNR analytical results, thereby changing a modulation method to transmit data without transmission errors.
The SNR is decreased by the following factors, for example: load conditions depending on a status of a device connected to a power line, noise, narrow-band noise of an amateur radio and a short-wave radio, etc., and attenuation of a signal (see Jose Abad et al., “Extending the Power Line LAN Up to the Neighborhood Transformer”, IEEE Communications Magazine, April 2003, pp. 64-70). The above-described factors change in accordance with wiring conditions, and a connection status or an operation status of a device. The factors may change on a minute-by-minute, hour-by-hour, day-by-day, or year-by-year basis.
In the conventional wireless LAN system and the power line communication system, a modulation parameter is appropriately changed by the fall down algorithm, the channel estimation algorithm, or the like. As such, a transmission speed is adjusted so as to avoid errors, thereby achieving the maximum throughput under the current transmission conditions.
In the above-described systems, a training session may be performed before communication is started. During the training session, it is necessary to perform a sequence of processes such that a specific packet (a test packet) is transmitted from a transmission source, and a feedback packet (SNR analytical results) is sent back from a transmission destination. Thus, frequent training sessions increase overhead, whereby communication speed is reduced irrespective of transmission conditions. In order to avoid such reduction in communication speed, a training session may be performed at regular intervals, for example, in a cycle of five seconds. However, the channel conditions and the above-described cycle are not synchronized. As a result, if the channel conditions change during a cycle, communication is interrupted until a next cycle is started. In the case where a training session is performed in a cycle of five seconds, for example, communication may be interrupted as much as five seconds in the worst case.
Thus, even when a training session is being performed at regular intervals, a cycle thereof may be changed to an irregular cycle in the case where communication conditions are degraded due to a change in channel conditions.
In the wireless LAN system and the power line communication system, automatic retransmission control is performed by using ARQ (Automatic Repeat reQuest). Thus, it is possible to determine that the communication conditions are degraded if the number of automatic retransmission exceeds a predetermined threshold value.
However, if the number of ARQ retransmission exceeds a predetermined threshold value, a packet is discarded without being transmitted.
FIG. 14 is a flowchart showing an operation performed before a training session is started in the conventional power line communication system. Hereinafter, with reference to FIG. 14, the operation performed before a training session is started in the conventional power line communication system will be described.
First, the transmitting-end communication control section 91 sets a training cycle Tt0 (step S91). In this example, Tt0 is five seconds.
Next, the transmitting-end communication control section 91 sets a threshold value Nr0 of a retransmission number (step S92). Next, the transmitting-end communication control section 91 resets a retransmission number counter Nr to zero (step S93): Then, the transmitting-end communication control section 91 resets a timer Tt, which counts a training cycle, to zero (step S94).
Next, the transmitting-end communication control section 91 generates a packet to be transmitted from input data (step S95). Then, the transmitting-end communication control section 91 checks the timer Tt, which counts a training cycle, to find out if Tt0 seconds have elapsed (step S96).
If Tt0 seconds have not elapsed, the transmitting-end communication control section 91 determines whether or not the retransmission number counter Nr is equal to the retransmission number threshold value Nr0 (step S97). If the retransmission number counter Nr is not equal to the retransmission number threshold value Nr0, the transmitting-end communication control section 91 checks the presence or absence of an acknowledgement (step S80). If an acknowledgement is not received within a predetermined time period, the transmitting-end communication control section 91 retransmits the packet generated at step S95, increments the retransmission number counter Nr by 1 (step S98), and goes back to step S96. If an acknowledgement is received at step S80, the transmitting-end communication control section 91 goes back to step S93. On the other hand, if the retransmission number counter Nr is equal to the retransmission number threshold value Nr0 at step S97, the transmitting-end communication control section 91 discards the generated packet (step S99), executes a training session (step S90), and goes back to step S93.
On the other hand, if it is determined that Tt0 seconds have elapsed by checking the timer Tt, which counts a training cycle, at step S96, the transmitting-end communication control section 91 executes a training session (step S90), and goes back to step S93.
As such, when the retransmission number exceeds a predetermined threshold value, the conventional transmitting/receiving apparatus discards a packet, and proceeds to a training session. Also, the conventional transmitting/receiving apparatus automatically executes a training session when a predetermined training cycle has elapsed.
In the case where TCP/IP, which is used in the Internet, is used as a higher layer protocol, even if a lower layer discards data, a TCP layer detects packet loss, and causes the data to be retransmitted by using ARQ. However, it is impossible to use ARQ, which is used in TCP, for transmission of real-time video data since ARQ prevents the video data from being transmitted in real time. Thus, UDP, which does not use ARQ, is used in place of TCP. In this case, the packet discarded in the lower layer is not re-obtained, whereby a screen is distorted due to video data loss. The percentage of discarded packets can be reduced by increasing a threshold value of the ARQ retransmission number in the lower layer. However, as is the case with ARQ used in TCP, the increased threshold value of the ARQ retransmission number prevents the video data from being transmitted in real time.
Note that Japanese Patent Laid-Open Publication No. H6-232871 discloses a technique by which a transmission source wireless terminal, which has received a retransmission request packet from a destination wireless terminal, determines a bit string to be retransmitted based on retransmission request carrier information included in the received retransmission request packet, generates a retransmission packet, and transmits the retransmission packet to the destination wireless terminal using a carrier frequency, at which communication is possible, determined based on successfully-received carrier information. In the case where the number of bit string to be retransmitted is one, the transmission source wireless terminal sends a retransmission packet in parallel using all carrier frequencies, at which communication is possible. Also, in the case where the number of bit strings to be retransmitted is two and the number of carriers, at which communication is possible, is one, the transmission source wireless terminal sends the retransmission packet twice using one carrier frequency, at which communication of these two bit strings is possible. The above-described invention is based on the premise that all carriers have the same modulation speed, thereby retransmitting data, which was transmitted on an carrier affected by fading, on a different carrier. As such, the above-described invention can be used to prevent a repetition of retransmission. However, by the above-described invention, it is not possible to select an optimum modulation for each carrier in accordance with channel conditions.